package org.egdp.jclpvm.core.context;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class SDKContext {

	private static Log logger = LogFactory.getLog(SDKContext.class);
	
	private String sdkName;
	private int vendorID;
	private String vendorName;
	private boolean supportGPU;
	private boolean supportCPU;
	private boolean supportDSP;
	
	public SDKContext(String sdkName, int vendorID, String vendorName, boolean supportGPU, 
			boolean supportCPU,	boolean supportDSP) {
		super();
		this.sdkName = sdkName;
		this.vendorID = vendorID;
		this.vendorName = vendorName;
		this.supportGPU = supportGPU;
		this.supportCPU = supportCPU;
		this.supportDSP = supportDSP;
		logger.debug("Initialized SDK context by injecting constructor [" + this.sdkName + "]");
	}

	public String getSdkName() {
		return sdkName;
	}

	public int getVendorID() {
		return vendorID;
	}

	public String getVendorName() {
		return vendorName;
	}

	public boolean isSupportGPU() {
		return supportGPU;
	}

	public boolean isSupportCPU() {
		return supportCPU;
	}

	public boolean isSupportDSP() {
		return supportDSP;
	}

	@Override
	public String toString() {
		return "SDKContext [sdkName=" + sdkName + ", supportCPU=" + supportCPU
				+ ", supportDSP=" + supportDSP + ", supportGPU=" + supportGPU
				+ ", vendorID=" + vendorID + ", vendorName=" + vendorName + "]";
	}

}
